package com.briup.jdk8.day03;

import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * 静态方法，产生Stream对象
 */
public class Test4 {
    public static void main(String[] args) {
        // generate
        Random random = new Random();
        Stream.generate(() -> random.nextInt(100))
                .limit(50)
                .forEach(System.out::println);

        // iterate，需要提供种子（初始值），计算方案
        // 第一个元素是x，第二个元素是f(x)，第三个元素是f(f(x))...
        List<Integer> list = Stream.iterate(1, s -> s * 2)
                .limit(10)
                .collect(Collectors.toList());
        System.out.println("list = " + list);
        // reduce是一个最终操作，相当于把list里面的每一项计算出来
    }
}
